<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="../00_static/js/vue.js" type="text/javascript"></script>
    <title>绑定样式</title>
    <style>
        .yangshi {
            border: 3px solid black;
        }

        .classA {
            background-color: skyblue;
        }

        .classB {
            color: red;
        }

        .classC {
            text-shadow: 2px 2px 3px yellow;
        }
    </style>
</head>

<body>
    <!-- 
        1. 绑定class样式
            ：class="xxx" xxx可以时字符串、对象、数组
        2. 绑定style样式
            ：style="{color: activeColor, fontSize: fontSize + 'px'}"
     -->

    <div id="app">
        <!-- class的字符串写法，适用于：类名不确定，要动态获取 -->
        <h2 class="yanshi" :class="myStyle">{{msg}}</h2>

        <!-- class的对象写法，适用于：类名确定，但不确定用不用 -->
        <h2 class="yanshi" :class="{classB:hasB,classC:hasC}">{{msg}}</h2>

        <!-- class的三元表达式写法，适用于：类名确定，但不确定用不用 -->
        <h2 class="yanshi" :class="hasB ? 'classB' : '' ">{{msg}}</h2>

        <!-- class的数组写法，适用于：同时应用多个class -->
        <h2 class="yanshi" :class="[a,b,c]">{{msg}}</h2>

        <!-- 绑定style -->
        <h2 class="yanshi" :class="[a,b,c]" :style="{fontSize:size+'px'}">{{msg}}</h2>
    </div>

    <script type="text/javascript">
        new Vue({
            el: '#app',
            data: {
                msg: '你好啊！',
                myStyle: 'classA',
                hasB: true,
                hasC: true,
                a: 'classA',
                b: 'classB',
                c: 'classC',
                size: 40
            },
        })
    </script>
</body>

</html>